Содержание


Назначение

Сервис логирует действия выполненные пользователями в ЛК РП.


Описание
Сервис обеспечивает следующие функции:

  • Запись информации о авторизации и выходе из системы
  • Запись информации о пользовательских операциях выполненных в ЛК РП
  • Запись информации о выгружаемых документах
  • Запись информации о загружаемых документах

Взаимодействие с другими сервисами

Сервис вычитывает информацию направляемую ЛК РП в топиках ervu.lkrp.auth.events, ervu.lkrp.action.events, ervu.lkrp.import.file, и информацию направляемую ervu-validate-recruits в топиках ervu.lkrp.validate.response и ervu.lkrp.upload.failed.


Для реализации возможности журналирования действий выполняемых на стороне ЛК РП, принято решение о необходимости добавления базы данных. Так же для минимизации объема данных и ускорения работы сервиса в указанной базе данных будет использовать расширение TimescaleDB (возможность использования согласована с Солар)Журналирование ЛК РП 20241113_TPS.docx


События срок давности которых превысить 6 месяцев, должны удаляться из журналов и их БД.


Строение БД ervu-lkrp-journal-service

                                                          

                                           


Журнал авторизаций ЛК РП

Описание Журнала авторизаций ЛК РП

В Журнале авторизаций ЛК РП будет записываться информация о успешной авторизации, ошибки при авторизации, успешном выходе из системы и ошибке при выходе из системы.


Алгоритм работы сервиса при авторизации


Вход в систему 

draw.io

Diagram attachment access error: cannot display diagram



Выход из системы 

draw.io

Diagram attachment access error: cannot display diagram


Сообщения в Kafka 


ФЛ

ervu.lkpr.person.search.request

{
   "lastName": "Фамилия",
   "firstName": "Имя",
   "middleName": "Отчество",
   "birthDate": "01.01.2000",
   "snils": "123-456-789 00",
   "document": {
      "series": "0001",
      "number": "123123",
      "issueDate": "21.02.2001"
   }
}

ervu.lkpr.person.search.response

{
   "ervuId": "146c7719-7eee-47fb-87b6-bb477ac99497",
   "errorData": null
}

ЮЛ

ervu.organization.request

 {
   "orgOid": "1002421641",
   "orgFullName": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"РОМАШКА\"",
   "orgShortName": "ООО \"Ромашка\"",
   "orgType": "LEGAL",
   "inn": "2128010951",
   "ogrn": "1022101138180",
   "orgTypeLeg": "12300",
   "orgTypeName": "Общества с ограниченной ответственностью",
   "kpp": "213001001",
   "addresses": [],
   "contacts": [],
   "staffCount": 2,
   "branchesCount": 0,
   "brhs": [],
   "chiefInfo": {
      "prnOid": "1002421219",
      "orgOid": "1002421641",
      "chief": true,
      "blocked": false,
      "position": null,
      "lastName": "Кротов",
      "firstName": "Степан",
      "middleName": "Александрович",
      "birthDate": "02.02.2001",
      "gender": "M",
      "citizenship": "RUS",
      "snils": "268-148-632 04",
      "inn": "110475698107",
      "birthPlace": "гор Саратов",
      "email": null,
      "phoneNumber": null
   },
   "senderInfo": {
      "prnOid": "1002421219",
      "orgOid": "1002421641",
      "chief": true,
      "blocked": false,
      "position": null,
      "lastName": "Кротов",
      "firstName": "Степан",
      "middleName": "Александрович",
      "birthDate": "02.02.2001",
      "gender": "M",
      "citizenship": "RUS",
      "snils": "268-148-632 04",
      "inn": "110475698107",
      "birthPlace": "гор Саратов",
      "email": null,
      "phoneNumber": null
   },
   "orgAgencyTerRange": null,
   "orgAgencyType": null,
   "liquidated": false
}

ervu.organization.response

{
   "success": true,
   "message": "Success",
   "data": {
      "orgId_ERVU": "f1ae84e5-c365-41e9-a489-a34577877ec2"
   }
}

Для передачи полученных данных в новый сервис ervu-lkpr-journal необходимо создать новый топик lkrp.auth.event.

{
   "esiaPersonId": "1000352722", // Идентификатор пользователя из ЕСИА
   "esiaOrgId": "1000352722", // (обязательно только для   "subsystem": "UL")
   "subsystem": "FL", // подсистема. FL - для физ. лиц, UL - для юр. лиц
   "eventTime": "0000-00-00T00:00:00.000Z", // дата и время события
   "eventType": "logout", // тип события. login - вход, logout - выход
   "status": "success", // статус. success - успех, failure - ошибка
   "firstName": "Иван", // имя пользователя
   "lastName": "Иванов", //фамилия пользователя
   "middleName": "Иванович", //отчество пользователя
   "snils": "123-456-789 00", // СНИЛС пользователя (обязательно только для   "subsystem": "FL")
   "inn": "7731347089", // ИНН организации (обязательно только для   "subsystem": "UL")
   "organizationName": "PRIMER PROEKT" //  Наименование организации (обязательно только для   "subsystem": "UL")
}

Журнал пользовательских операций ЛК РП

В Журнале пользовательских операций ЛК РП должна выводится информация о времени и дате события, с учетом часового пояса пользователя и часового пояса по Москве. Записям присваивается идентификатор. Должны отображаться: Фамилия, Имя, Отчество. Выводится информация об адресе страницы, идентификаторе нажатой кнопки и тип события. Для события "Поиск по фильтру" должны отображаться атрибуты по которым осуществлен поиск, а также значения этих атрибутов.  

image-2024-11-20_15-49-29-1.png


Какие действия подлежат логированию в ЖПО?
ФЛ:
Переход в личный профиль

Нажатие на кнопку "Открыть повестку" в блоке "Повестки"

Нажатие на кнопку "Посмотреть делали" в блоке "Временные меры"

ЮЛ:
Нажатие на кнопку "Журнал взаимодействий"  
Проставление/сброс фильтрации в журнале взаимодействий 


Информация о выполненных пользователем действиях записывается в новый топик lkrp.action.event, данный топик читается сервисом ervu-lkrp-journal с дальнейшим формированием записи в разделе Журнал пользовательских операций ЛК РП.

{  
 "esiaPersonId": "1000352722", // Идентификатор пользователя из ЕСИА
 "esiaOrgId": "1000352722", // (обязательно только для   "subsystem": "UL")
 "eventTime" : "0000-00-00T00:00:00.000Z", // дата и время события
 "subsystem" : "FL",  // подсистема. FL - для физ. лиц, UL - для юр. лиц
 "eventType" : "Поиск по фильтру", // Указывается выполненное пользователем действие, например: открытие страницы, поиск по фильтру, Скачивание шаблона.
 "description" : "Журнал взаимодействий", // Указывается Описание раздела либо блока в котором произведено действие
 "searchAttribute" : [Атрибут поиска], // Указывается атрибут на основании которого выполнялась фильтрация (необязательный атрибут) 
 "searchValue" : [Значение атрибута], // Указывается значение атрибута на основании которого выполнялась фильтрация(необязательный атрибут)
 "fileName" : "Прил.12_Ежегод_сверка", // необязательный атрибут
 "sourceUrl" : "https://" // Заполняется ссылкой на источник  
  } 

Журнал импорта файлов из ЕРВУ

image-2024-11-20_15-49-49-1.png

В журнале импорта файлов из ЕРВУ должны выводиться документы запрошенные пользователем, например: Выписка повестки, Выписка воинского учета, для ЮЛ Выписка журнала взаимодействий.


lkrp.import.file

{      
    "esiaPersonId", "1000352722", // Идентификатор пользователя из ЕСИА
    "esiaOrgId": "1000352722", // (обязательно только для   "subsystem": "UL")
    "eventTime" : "0000-00-00T00:00:00.000Z", // дата и время события
    "subsystem" : "FL",  // подсистема. FL - для физ. лиц, UL - для юр. лиц 
    "downloadType" : "Повестки ФЛ", // наименование подраздела из которого выполнялось скачивание файла: Журнал взаимодействий ЮЛ, Воинский учет ФЛ, Повестки ФЛ. 
    "status" : "succes", // // статус. success - успех, failure - не успешно
    "fileName" : "Выписка.xlsx", // отображает наименование выгруженного файла
    "s3FileUrl": "ссылка на файл из s3"
    "fileSize" : "500b" //??
} 

Журнал экспорта файлов в ЕРВУ

image-2024-11-20_15-50-47-1.png

В журнале экспорта файлов в ЕРВУ должны выводиться документы загруженные пользователем в систему. Форма шаблона соответствует номеру загружаемого в ЛК РП документа.


ervu.lkrp.validate.response

{
   "eventTime": "0000-00-00T00:00:00.000Z", // дата и время события        
    "orgInfo": { 
   "orgName": "Звезда",
   "esiaOrgId": "1000352722", // Идентификатор организации из ЕСИА"
   "orgId": "a9cd9118-2e00-44ee-ba63-6d379ee1b45f",
   "prnOid": "1000322154",
    "senderInfo": { 
   // информация об отправителе документов 
    "lastName": "Максимов", // фамилия пользователя
    "firstName": "Геннадий",    // имя пользователя
    "middleName": "Валентинович",    // отчество пользователя 
  },
    "fileInfo": {
    "fileId": "001f999d-49fc-4c57-9311-720fe5536fd9",
     "fileUrl": "s3://lkrp-av/test_12.csv",
      "filePatternCode": "9",    
      "filePatternName": "Сведение о приеме на работу (увольнении), зачислении в образовательное учреждение (или отчислении)",      
      "fileName": "Прил.12_Ежегодн_сверк", // наименование файла
      "fileSize": "100kb",  //размер файла
      "fileStatus": {
      "code": "07",
      "status": "Принято ЕРВУ",
      "description": "Все записи успешно прошли проверку ФЛК"
    }
  },
  "validationInfo": [ 
   { 
     "code": "SUC01",
      "description": "Пройден ФЛК",
      "rows": [
        2
      ]
    }
  ],
  "rowsSuccess": 1,
  "rowsCount": 1
}  

Написать комментарий...